Building Core Images

Both the kernel and final core build are normally done using shell script drivers:
do-worldbuild*
Builds a kernel core for the current machine. The version to build is indicated by an optional argument, which defaults to ``alpha''. The kernel.core file is written either in the ldb/ directory in the build area, or in /usr/tmp/. The directory which already contains kernel.core is chosen. You can create a dummy version with e.g. ``touch'' to select the initial build location.

mk-lisp*
Builds a full core, with conditional loading of subsystems. The version is the first argument, which defaults to ``alpha''. Any additional arguments are added to the *features* list, which controls system loading (among other things.) The lisp.core file is written in the current working directory.

These scripts load Lisp command files. When tools/worldbuild.lisp is loaded, it calls genesis with the correct arguments to build a kernel core. Similarly, worldload.lisp builds a full core. Adding certain symbols to *features* before loading worldload.lisp suppresses loading of different parts of the system. These symbols are:

:no-compiler
don't load the compiler.
:no-clx
don't load CLX.
:no-hemlock
don't load hemlock.
:no-pcl
don't load PCL.

Note: if you don't load the compiler, you can't (successfully) load the pretty-printer or pcl. And if you compiled hemlock with CLX loaded, you can't load it without CLX also being loaded.